/**
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 2 of the License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY. 
 * See the GNU General Public License for more details.
 * 
 * Copyright (C) 2011 CellObject.net
 */
package net.cellobject.javacodeformatter.editor;

/**
 * Used by {@link ProperyFile} to notify registered listeners, such as {@link PropertyEditor}, that changes have occurred in the
 * model
 */
public interface PropertyFileListener {
	void keyChanged(PropertyCategory category, PropertyEntry entry);

	void valueChanged(PropertyCategory category, PropertyEntry entry);

	void nameChanged(PropertyCategory category);

	void entryAdded(PropertyCategory category, PropertyEntry entry);

	void entryRemoved(PropertyCategory category, PropertyEntry entry);

	void categoryAdded(PropertyCategory category);

	void categoryRemoved(PropertyCategory category);
}
